* {
  margin: 0;
  padding: 0;
  /* 这个的意思就是告诉浏览器.你想要设置边框和内边距是包含在总宽高内的 */
  box-sizing: border-box;
}
.container {
  /* 生成绝对定位的元素,相对于static 定位以外的第一个父元素进行定位
    元素的位置通过 left top right 以及bottom 属性进行规定 */
  position: absolute;
  width: 100%;
  /* 100%窗口高度 */
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  /* 背景渐变 */
  background: linear-gradient(to bottom, #2193b0, #6dd5ed);
}

.container::before {
  /* content一般是插入生成的内容,一般与为元素:befor和:after配合使用,
    可以插入图片 url 文本内容  */
  content: "";
  position: absolute;
  bottom: 0px;
  width: 100%;
  height: 50%;
  z-index: 1;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  /* 背景模糊 */
  backdrop-filter: blur(5px);
}
.container .color {
  position: absolute;
  /* 模糊滤镜 数值越大越模糊 */
  filter: blur(200px);
}

.container .color:nth-child(1) {
  background: #fd746c;
  width: 800px;
  height: 800px;
  top: -450px;
}

.container .color:nth-child(2) {
  background: #cf8bf3;
  width: 600px;
  height: 600px;
  bottom: -150px;
  left: 100px;
}

.container .color:nth-child(3) {
  background: #fdb99b;
  width: 400px;
  height: 400px;
  bottom: 50px;
  right: 100px;
}

ul {
  position: relative;
  display: flex;
  z-index: 2;
}

ul li {
  position: relative;
  list-style: none;
  margin: 10px;
}

ul li a {
  position: relative;
  width: 80px;
  height: 80px;
  display: inline-block;
  border-radius: 10px;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  /* 盒子阴影 */
  box-shadow: 0px 5px 45px rgba(0, 0, 0, 0.1);
  /* 背景模糊 */
  backdrop-filter: blur(2px);
  overflow: hidden;
  /* 加个动画过渡.动画才不会太过生硬 */
  transition: all 0.5s;
}

ul li a:hover {
  /* 鼠标移入元素y轴上移动 */
  transform: translateY(-20px);
}

/* 扫光动画 */
ul li a::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 50px;
  height: 100%;
  background-color: #fff;
  /* 元素沿着X轴横切 沿x轴向右移动150px */
  transform: skewX(45deg) translateX(150px);
  /* 动画过渡 */
  transition: all 0.5s;
}

ul li a:hover::before {
  /* 元素沿着X轴横切 沿x轴向左移动150px */
  transform: skewX(45deg) translateX(-150px);
}
